package com.ynet.middleground.user.bean;

import com.ynet.core.common.BaseReqObj;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * @author Wangxz
 * @description 企业用户添加企业员工用户请求类
 * @date 2019-10-26
 */
@Data
@ApiModel(value = "企业用户添加企业员工用户请求对象", description = "企业用户添加企业员工用户请求对象")
public class AddEnterpriseUserInfoReq extends BaseReqObj {
    private static final long serialVersionUID = 1684189850316475367L;

    /**
     * 所属企业id
     */
    @ApiModelProperty(value = "所属企业id(即企业客户的userId)", notes = "所属企业id(即企业客户的userId)", dataType = "Integer", required = true)
    @NotNull(message = "所属企业id不能为空！")
    private Integer enterpriseId;
    
    /**
     * 电子邮件
     */
    @ApiModelProperty(value = "电子邮件", notes = "电子邮件", dataType = "String")
    private String email;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", notes = "描述", dataType = "String")
    private String describeStr;

    /**
     * 账号
     */
    @ApiModelProperty(value = "账号", notes = "账号", dataType = "String", required = true)
    @NotEmpty(message = "账号不能为空！")
    private String userAccounts;

    /**
     * 用户密码
     */
    @ApiModelProperty(value = "用户密码，密码必须是包含大写字母、小写字母、数字、特殊符号（不是字母，数字，下划线，汉字的字符）的8位以上组合", notes = "用户密码，密码必须是包含大写字母、小写字母、数字、特殊符号（不是字母，数字，下划线，汉字的字符）的8位以上组合", dataType = "String")
    private String userPassword;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", notes = "联系电话", dataType = "String", required = true)
    @NotEmpty(message = "联系电话不能为空！")
    private String telephone;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称(登录时使用)", notes = "用户名称(登录时使用)", dataType = "String", required = true)
    @NotEmpty(message = "用户名称不能为空！")
    private String userName;

    /**
     * 证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证
     */
    @ApiModelProperty(
            value = "证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证，" +
                    "05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证",
            notes = "证件种类,00-统一社会信用代码,01-组织机构代码证,02-营业执照,03-税务登记证,04-身份证，" +
                    "05-护照，06-香港通行证，07-澳门通行证，08-台湾居民来往大陆通行证",
            dataType = "String",
            required = true)
    @NotEmpty(message = "证件种类不能为空！")
    private String papersType;

    /**
     * 证件编号
     */
    @ApiModelProperty(value = "证件编号", notes = "证件编号", dataType = "String", required = true)
    @NotEmpty(message = "证件编号不能为空！")
    private String papersNo;

    /**
     * 管理员证照(影像资料)
     */
    @ApiModelProperty(value = "管理员证照(影像资料)", notes = "管理员证照(影像资料)", dataType = "String")
    private String adminLicenseUrl;
    
    /**
     * 山港易付id
     */
    @ApiModelProperty(value = "山港易付id", notes = "山港易付id", dataType = "String")
    private String sgyfId;
}
